package edu.tfg.lojista;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;



public class LojistaDAOHibernate implements LojistaDAO{
	
private Session sessao;
	
	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@Override
	public void salvar(Lojista lojista) {
		this.sessao.save(lojista);		
	}
	
		@Override
	public List<Lojista> listar() {
		Criteria lista = sessao.createCriteria(Lojista.class);
		return lista.list();
	}

	@Override
	public void excluir(Lojista lojista) {
		this.sessao.delete(lojista);		
	}

	@Override
	public Lojista pesquisar(String string) {
		
		Query consultaNome = this.sessao
				.createQuery("from Lojista l where l.nome_fantasia like :nome_fantasia");
		consultaNome.setString("nome", "%" + string + "%");
		return (Lojista) consultaNome.uniqueResult();
		
	}

	@Override
	public void alterar(Lojista lojista) {
		this.sessao.update(lojista);
		
	}

	@Override
	public Lojista pesquisarPorCodigo(Integer codigoString) {
		//return (Cliente) this.sessao.get(Cliente.class, codigo);
		return null;
	}

}
